#if !GENERATOR

using System;
using System.ComponentModel;
using System.Diagnostics;
using System.Xml.Serialization;
using System.Collections.Generic;

using YF.OneNote;


namespace YF.OneNote.DataTypes
{
  public partial class InkWord: NotesNode
  {
  
	public InkWord()
    {
      
	}

    

	[XmlAttribute]
    public override string ID
    {
      get
      {
        return "!!!No ID!!!";
      }
      set
      {
      }
    }

	
    protected override bool UpdateContents(NotesNode newContent, List<INotesChange> changes)
    {
	  InkWord item = (InkWord)newContent;
      bool changed = false;

      
      if (height != item.height)
      {
        changed = true;
		
		NotesPropertyChange propertyChange = new NotesPropertyChange();

        propertyChange.ChangeType = NoteChangeType.Changed;
        propertyChange.OldValue = heightField;
        propertyChange.NewValue = item.heightField;
        propertyChange.PropertyName = "height";
        changes.Add(propertyChange);

		
        heightField = item.heightField;
      }

      if (inkOriginX != item.inkOriginX)
      {
        changed = true;
		
		NotesPropertyChange propertyChange = new NotesPropertyChange();

        propertyChange.ChangeType = NoteChangeType.Changed;
        propertyChange.OldValue = inkOriginXField;
        propertyChange.NewValue = item.inkOriginXField;
        propertyChange.PropertyName = "inkOriginX";
        changes.Add(propertyChange);

		
        inkOriginXField = item.inkOriginXField;
      }

      if (inkOriginY != item.inkOriginY)
      {
        changed = true;
		
		NotesPropertyChange propertyChange = new NotesPropertyChange();

        propertyChange.ChangeType = NoteChangeType.Changed;
        propertyChange.OldValue = inkOriginYField;
        propertyChange.NewValue = item.inkOriginYField;
        propertyChange.PropertyName = "inkOriginY";
        changes.Add(propertyChange);

		
        inkOriginYField = item.inkOriginYField;
      }

      if (recognizedText != item.recognizedText)
      {
        changed = true;
		
		NotesPropertyChange propertyChange = new NotesPropertyChange();

        propertyChange.ChangeType = NoteChangeType.Changed;
        propertyChange.OldValue = recognizedTextField;
        propertyChange.NewValue = item.recognizedTextField;
        propertyChange.PropertyName = "recognizedText";
        changes.Add(propertyChange);

		
        recognizedTextField = item.recognizedTextField;
      }

      if (selected != item.selected)
      {
        changed = true;
		
		NotesPropertyChange propertyChange = new NotesPropertyChange();

        propertyChange.ChangeType = NoteChangeType.Changed;
        propertyChange.OldValue = selectedField;
        propertyChange.NewValue = item.selectedField;
        propertyChange.PropertyName = "selected";
        changes.Add(propertyChange);

		
        selectedField = item.selectedField;
      }

      if (style != item.style)
      {
        changed = true;
		
		NotesPropertyChange propertyChange = new NotesPropertyChange();

        propertyChange.ChangeType = NoteChangeType.Changed;
        propertyChange.OldValue = styleField;
        propertyChange.NewValue = item.styleField;
        propertyChange.PropertyName = "style";
        changes.Add(propertyChange);

		
        styleField = item.styleField;
      }

      if (width != item.width)
      {
        changed = true;
		
		NotesPropertyChange propertyChange = new NotesPropertyChange();

        propertyChange.ChangeType = NoteChangeType.Changed;
        propertyChange.OldValue = widthField;
        propertyChange.NewValue = item.widthField;
        propertyChange.PropertyName = "width";
        changes.Add(propertyChange);

		
        widthField = item.widthField;
      }

      if (x != item.x)
      {
        changed = true;
		
		NotesPropertyChange propertyChange = new NotesPropertyChange();

        propertyChange.ChangeType = NoteChangeType.Changed;
        propertyChange.OldValue = xField;
        propertyChange.NewValue = item.xField;
        propertyChange.PropertyName = "x";
        changes.Add(propertyChange);

		
        xField = item.xField;
      }

      if (y != item.y)
      {
        changed = true;
		
		NotesPropertyChange propertyChange = new NotesPropertyChange();

        propertyChange.ChangeType = NoteChangeType.Changed;
        propertyChange.OldValue = yField;
        propertyChange.NewValue = item.yField;
        propertyChange.PropertyName = "y";
        changes.Add(propertyChange);

		
        yField = item.yField;
      }


      return changed;
    }
  }
}

#endif